home *** CD-ROM | disk | FTP | other *** search
/ Adobe Graphics & Publishing SDK 1996 December / Adobe Graphics & Publishing SDK 1996 December.iso / mac / Illustrator 6.0 SDK r1 Mac / AI Plugin Interface / AINotifier.h < prev    next >
Text File  |  1995-12-21  |  2KB  |  112 lines

  1. /**
  2.  
  3.     AINotifier.h
  4.     Copyright (c) 1995 Adobe Systems Incorporated.
  5.     All Rights Reserved
  6.  
  7.     Adobe Illustrator 6.0 Notifier Suite.
  8.  
  9.  **/
  10.  
  11. #ifndef __AINotifier__
  12. #define __AINotifier__
  13.  
  14.  
  15. /*******************************************************************************
  16.  **
  17.  **    Imports
  18.  **
  19.  **/
  20.  
  21. #include "AITypes.h"
  22. #include "AIEvent.h"
  23. #include "AIPlugin.h"
  24.  
  25.  
  26. #if Macintosh
  27.     #ifdef __cplusplus
  28.     extern "C" {
  29.     #endif
  30.     
  31.     #if PRAGMA_ALIGN_SUPPORTED
  32.     #pragma options align=mac68k
  33.     #endif
  34.     
  35.     #if PRAGMA_IMPORT_SUPPORTED
  36.     #pragma import on
  37.     #endif
  38. #endif
  39.  
  40.  
  41. /*******************************************************************************
  42.  **
  43.  ** Constants
  44.  **
  45.  **/
  46.  
  47. #define kAINotifierSuite        "AI Notifier Suite"
  48. #define kAINotifierVersion        2
  49.  
  50. #define kSelectorAINotify        "AI Notify"
  51.  
  52.  
  53. /*******************************************************************************
  54.  **
  55.  ** Types
  56.  **
  57.  **/
  58.  
  59. // This is a reference to a notifier. It is never dereferenced.
  60. typedef struct _t_AINotifierOpaque *AINotifierHandle;
  61.  
  62. // The contents of a notifier message.
  63. typedef struct {
  64.     AIPluginData d;
  65.     AINotifierHandle notifier;
  66.     char *type;
  67.     void *notifyData;
  68. } AINotifierMessage;
  69.  
  70.  
  71. /*******************************************************************************
  72.  **
  73.  **    Suite Record
  74.  **
  75.  **/
  76.  
  77. typedef struct {
  78.  
  79.     MACPASCAL FXErr (*AddNotifier) ( AIPluginHandle self, char *name, char *type,
  80.                 AINotifierHandle *notifier );
  81.  
  82.     MACPASCAL FXErr (*GetNotifierName) ( AINotifierHandle notifier, char **name );
  83.     MACPASCAL FXErr (*GetNotifierType) ( AINotifierHandle notifier, char **type );
  84.     MACPASCAL FXErr (*GetNotifierActive) ( AINotifierHandle notifier, Boolean *active );
  85.     MACPASCAL FXErr (*SetNotifierActive) ( AINotifierHandle notifier, Boolean active );
  86.     MACPASCAL FXErr (*GetNotifierPlugin) ( AINotifierHandle notifier, AIPluginHandle *plugin );
  87.  
  88.     MACPASCAL FXErr (*CountNotifiers) ( long *count );
  89.     MACPASCAL FXErr (*GetNthNotifier) ( long n, AINotifierHandle *notifier );
  90.  
  91.     MACPASCAL FXErr (*Notify) ( char *type, void *notifyData );
  92.  
  93. } AINotifierSuite;
  94.  
  95.  
  96. #if Macintosh
  97.     #if PRAGMA_IMPORT_SUPPORTED
  98.     #pragma import off
  99.     #endif
  100.     
  101.     #if PRAGMA_ALIGN_SUPPORTED
  102.     #pragma options align=reset
  103.     #endif
  104.     
  105.     #ifdef __cplusplus
  106.     }
  107.     #endif
  108. #endif
  109.  
  110.  
  111. #endif
  112.